﻿
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace S.Authorization.Domain.Model.Organization
{
    /// <summary>
    /// 栋舍表
    /// </summary>
    [Table("ColumnManagementModel")]
    public class ColumnManagementModel
    {
        [Key]
        ///主键
        public int BuildingManagementId { get; set; }

        /// <summary>
        /// 栋舍类型（下拉框）（唯一）
        /// </summary>
        public int BuildingTypes { get; set; }

        /// <summary>
        /// 栋舍名称
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string BuildingName { get; set; }

        /// <summary>
        /// 负责人（用于以负责人维度汇总栋舍绩效使用）
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string ResponsiblePerson { get; set; }

        /// <summary>
        /// 生产人员（用于移动端查看我管理的栋舍使用）
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? ProductionPersonnel { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public bool State { get; set; }
        /// <summary>
        /// 备注
        /// </summary>

        public string? Remark { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string CreateBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDel { get; set; } = false;

        /// <summary>
        /// 羊场编码
        /// </summary>
        public int SheepFarmCode { get; set; }

        /// <summary>
        /// 羊场全称
        /// </summary>
        [Column(TypeName = "nvarchar(50)")]
        [MaxLength(50)]
        public string SheepFarm { get; set; }
    }
}
